package com.warframe.entity.invasions;

import java.math.BigDecimal;
import java.util.List;

public class InvasionMO {

    /**
     * id : 5bcb03a989e80f6113705709
     * activation : 2018-10-20T10:30:01.863Z
     * startString : -41m 37s
     * node : Tharsis (Mars)
     * desc : Infested Outbreak
     * attackerReward : {"items":[],"countedItems":[],"credits":0,"asString":"","itemString":"","thumbnail":"https://i.imgur.com/JCKyUXJ.png","color":15844367}
     * attackingFaction : Infested
     * defenderReward : {"items":[],"countedItems":[{"count":1,"type":"Mutagen Mass"}],"credits":0,"asString":"Mutagen Mass","itemString":"Mutagen Mass","thumbnail":"https://i.imgur.com/vV7kzub.png","color":5068118}
     * defendingFaction : Corpus
     * vsInfestation : true
     * count : -402
     * requiredRuns : 41000
     * completion : 99.01951219512196
     * completed : false
     * eta : 2d 22h 3m 29s
     * rewardTypes : ["mutagen"]
     */

    private String id;
    private String activation;
    private String startString;
    private String node;
    private String desc;
    private RewardMO attackerReward;
    private String attackingFaction;
    private RewardMO defenderReward;
    private String defendingFaction;
    private Boolean vsInfestation;
    private Integer count;
    private Integer requiredRuns;
    private Double completion;
    private Boolean completed;
    private String eta;
    private List<String> rewardTypes;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getActivation() {
        return activation;
    }

    public void setActivation(String activation) {
        this.activation = activation;
    }

    public String getStartString() {
        return startString;
    }

    public void setStartString(String startString) {
        this.startString = startString;
    }

    public String getNode() {
        return node;
    }

    public void setNode(String node) {
        this.node = node;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public RewardMO getAttackerReward() {
        return attackerReward;
    }

    public void setAttackerReward(RewardMO attackerReward) {
        this.attackerReward = attackerReward;
    }

    public String getAttackingFaction() {
        return attackingFaction;
    }

    public void setAttackingFaction(String attackingFaction) {
        this.attackingFaction = attackingFaction;
    }

    public RewardMO getDefenderReward() {
        return defenderReward;
    }

    public void setDefenderReward(RewardMO defenderReward) {
        this.defenderReward = defenderReward;
    }

    public String getDefendingFaction() {
        return defendingFaction;
    }

    public void setDefendingFaction(String defendingFaction) {
        this.defendingFaction = defendingFaction;
    }

    public Boolean isVsInfestation() {
        return vsInfestation;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Integer getRequiredRuns() {
        return requiredRuns;
    }

    public void setRequiredRuns(Integer requiredRuns) {
        this.requiredRuns = requiredRuns;
    }

    public Double getCompletion() {
        return completion;
    }

    public void setCompletion(Double completion) {
        this.completion = new BigDecimal(completion).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }

    public Boolean isCompleted() {
        return completed;
    }

    public String getEta() {
        return eta;
    }

    public void setEta(String eta) {
        this.eta = eta;
    }

    public List<String> getRewardTypes() {
        return rewardTypes;
    }

    public void setRewardTypes(List<String> rewardTypes) {
        this.rewardTypes = rewardTypes;
    }

    public Boolean getVsInfestation() {
        return vsInfestation;
    }

    public void setVsInfestation(Boolean vsInfestation) {
        this.vsInfestation = vsInfestation;
    }

    public Boolean getCompleted() {
        return completed;
    }

    public void setCompleted(Boolean completed) {
        this.completed = completed;
    }
}
